{% import 'admin/static.html' as admin_static with context %}

{% macro action_button(action, url='', modal=True, icon_class=None, btn_class='btn btn-default btn-xs') %}
    <a class="{{ btn_class }}" {% if modal %}data-target="#fa_modal_window"
       data-toggle="modal" {% endif %}title="{{ action.title }}" href="{{ url }}">
        <i class="{{ icon_class or action.icon_class }}"></i>
    </a>
{% endmacro %}

{% macro action_view_button(action, row_id, row, modal=True) %}
    {{ action_button(action, get_url('.details_view', id=row_id, url=return_url, modal=modal), modal, 'fa fa-eye glyphicon glyphicon-eye-open', 'btn btn-primary btn-xs') }}
{% endmacro %}

{% macro action_edit_button(action, row_id, row, modal=True) %}
    {{ action_button(action, get_url('.edit_view', id=row_id, url=return_url, modal=modal), modal, 'fa fa-pencil glyphicon glyphicon-pencil', 'btn btn-success btn-xs') }}
{% endmacro %}

{% macro action_delete_button(action, row_id, row) %}
    <form method="POST" action="{{ get_url('.delete_view') }}" style="display: inline-block;">
        {{ delete_form.id(value=get_pk_value(row)) }}
        {{ delete_form.url(value=return_url) }}
        {% if delete_form.csrf_token %}
            {{ delete_form.csrf_token }}
        {% elif csrf_token %}
            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
        {% endif %}
        <button class="btn btn-danger btn-xs"
                onclick="return confirm('{{ _gettext('Are you sure you want to delete this record?') }}');"
                title="{{ action.title }}">
            <i class="fa fa-trash"></i>
        </button>
    </form>
{% endmacro %}

{% macro dropdown_button(text) %}
    <a class="btn btn-default btn-sm" data-toggle="dropdown" href="javascript:void(0)">
        {{ text }} <b class="caret"></b>
    </a>
{% endmacro %}

{% macro filter_dropdown_button(btn_class='dropdown-toggle') %}
    <div class="input-group-btn" style="display: inline-block; width: auto;">
        {{ dropdown_button(_gettext('Filter')) }}
        <ul class="dropdown-menu field-filters">
            {% for k in filter_groups %}
                <li>
                    <a href="javascript:void(0)" class="filter" onclick="return false;">{{ k }}</a>
                </li>
            {% endfor %}
        </ul>
    </div>
{% endmacro %}

{% macro export_dropdown_button(btn_class='dropdown-toggle') %}
    {% if admin_view.export_types|length > 1 %}
        <div class="input-group-btn" style="display: inline-block; width: auto;">
            {{ dropdown_button(_gettext('Export')) }}
            <ul class="dropdown-menu field-filters">
                {% for export_type in admin_view.export_types %}
                    <li>
                        <a href="{{ get_url('.export', export_type=export_type, **request.args) }}"
                           title="{{ _gettext('Export') }}">{{ _gettext('Export') + ' ' + export_type|upper }}</a>
                    </li>
                {% endfor %}
            </ul>
        </div>
    {% else %}
        <a href="{{ get_url('.export', export_type=admin_view.export_types[0], **request.args) }}"
           title="{{ _gettext('Export') }}" class="btn btn-default btn-sm">
            {{ _gettext('Export') }}
        </a>
    {% endif %}
{% endmacro %}

{% macro bulk_actions_dropdown_button(actions, btn_class='dropdown-toggle') -%}
    <div class="input-group-btn" style="display: inline-block; width: auto;">
        {{ dropdown_button(_gettext('Bulk Actions')) }}
        <ul class="dropdown-menu">
            {% for p in actions %}
                <li>
                    <a href="javascript:void(0)"
                       onclick="return modelActions.execute('{{ p[0] }}');">{{ _gettext(p[1]) }}</a>
                </li>
            {% endfor %}
        </ul>
    </div>
{% endmacro %}

{% macro search_form(input_class="col-md-2") %}
    <form method="GET" action="{{ return_url }}" role="search" class="pull-right" style="display: inline-block; vertical-align: middle; width: 200px;">
        {% for flt_name, flt_value in filter_args.items() %}
            <input type="hidden" name="{{ flt_name }}" value="{{ flt_value }}">
        {% endfor %}
        {% if page_size != default_page_size %}
            <input type="hidden" name="page_size" value="{{ page_size }}">
        {% endif %}
        {% if sort_column is not none %}
            <input type="hidden" name="sort" value="{{ sort_column }}">
        {% endif %}
        {% if sort_desc %}
            <input type="hidden" name="desc" value="{{ sort_desc }}">
        {% endif %}
        {% if search %}
            <div class="input-group input-group-sm" style="width: 200px">
                <input type="text" name="search" value="{{ search }}" class="form-control pull-right"
                       placeholder="{{ _gettext('%(placeholder)s', placeholder=search_placeholder) }}">
                <div class="input-group-btn">
                    <button type="button" onclick="location.href='{{ clear_search_url }}'" title="Reset"
                            class="btn btn-sm btn-warning">
                        <i class="fa fa-ban"></i>
                    </button>
                    <button type="submit" title="Search" class="btn btn-sm btn-default">
                        <i class="fa fa-search"></i>
                    </button>
                </div>
            </div>
        {% else %}
            <div class="input-group input-group-sm" style="width: 200px">
                <input type="text" name="search" value="" class="form-control pull-right"
                       placeholder="{{ _gettext('%(placeholder)s', placeholder=search_placeholder) }}">
                <div class="input-group-btn">
                    <button type="submit" class="btn btn-default">
                        <i class="fa fa-search"></i>
                    </button>
                </div>
            </div>
        {% endif %}
    </form>
{% endmacro %}

{#{% macro filter_form() %}#}
{#    <form id="filter_form" method="GET" action="{{ return_url }}">#}
{#        {% if sort_column is not none %}#}
{#            <input type="hidden" name="sort" value="{{ sort_column }}">#}
{#        {% endif %}#}
{#        {% if sort_desc %}#}
{#            <input type="hidden" name="desc" value="{{ sort_desc }}">#}
{#        {% endif %}#}
{#        {% if search %}#}
{#            <input type="hidden" name="search" value="{{ search }}">#}
{#        {% endif %}#}
{#        {% if page_size != default_page_size %}#}
{#            <input type="hidden" name="page_size" value="{{ page_size }}">#}
{#        {% endif %}#}
{#        <div class="pull-right">#}
{#            <button type="submit" class="btn btn-primary" style="display: none">{{ _gettext('Apply') }}</button>#}
{#            {% if active_filters %}#}
{#                <a href="{{ clear_search_url }}" class="btn btn-default">{{ _gettext('Reset Filters') }}</a>#}
{#            {% endif %}#}
{#        </div>#}
{##}
{#        <table class="filters"></table>#}
{#    </form>#}
{#    <div class="clearfix"></div>#}
{#{% endmacro %}#}
{##}
{#{% macro search_form(input_class="col-md-2") %}#}
{#    <form method="GET" action="{{ return_url }}" class="navbar-form navbar-left" role="search">#}
{#        {% for flt_name, flt_value in filter_args.items() %}#}
{#            <input type="hidden" name="{{ flt_name }}" value="{{ flt_value }}">#}
{#        {% endfor %}#}
{#        {% if page_size != default_page_size %}#}
{#            <input type="hidden" name="page_size" value="{{ page_size }}">#}
{#        {% endif %}#}
{#        {% if sort_column is not none %}#}
{#            <input type="hidden" name="sort" value="{{ sort_column }}">#}
{#        {% endif %}#}
{#        {% if sort_desc %}#}
{#            <input type="hidden" name="desc" value="{{ sort_desc }}">#}
{#        {% endif %}#}
{#        {% if search %}#}
{#            <div class="input-group">#}
{#                <input type="text" name="search" value="{{ search }}" class="{{ input_class }} form-control"#}
{#                       placeholder="{{ _gettext('Search') }}">#}
{#                <a href="{{ clear_search_url }}" class="input-group-addon clear"><span#}
{#                        class="fa fa-times glyphicon glyphicon-remove"></span></a>#}
{#            </div>#}
{#        {% else %}#}
{#            <div class="form-group">#}
{#                <input type="text" name="search" value="" class="{{ input_class }} form-control"#}
{#                       placeholder="{{ _gettext('Search') }}">#}
{#            </div>#}
{#        {% endif %}#}
{#    </form>#}
{#{% endmacro %}#}
{##}
{#{% macro page_size_form(generator, btn_class='dropdown-toggle') %}#}
{#    <a class="{{ btn_class }}" data-toggle="dropdown" href="javascript:void(0)">#}
{#        {{ page_size }} {{ _gettext('items') }}<b class="caret"></b>#}
{#    </a>#}
{#    <ul class="dropdown-menu">#}
{#        <li><a href="{{ generator(20) }}">20 {{ _gettext('items') }}</a></li>#}
{#        <li><a href="{{ generator(50) }}">50 {{ _gettext('items') }}</a></li>#}
{#        <li><a href="{{ generator(100) }}">100 {{ _gettext('items') }}</a></li>#}
{#    </ul>#}
{#{% endmacro %}#}
{##}
{#{% macro export_options(btn_class='dropdown-toggle') %}#}
{#    {% if admin_view.export_types|length > 1 %}#}
{#        <div class="input-group-btn" style="display: inline-block; width: auto;">#}
{#            <a class="btn btn-default btn-sm" data-toggle="dropdown" href="javascript:void(0)">#}
{#                {{ _gettext('Export') }}<b class="caret"></b>#}
{#            </a>#}
{#            <ul class="dropdown-menu field-filters">#}
{#                {% for export_type in admin_view.export_types %}#}
{#                    <li>#}
{#                        <a href="{{ get_url('.export', export_type=export_type, **request.args) }}"#}
{#                           title="{{ _gettext('Export') }}">{{ _gettext('Export') + ' ' + export_type|upper }}</a>#}
{#                    </li>#}
{#                {% endfor %}#}
{#            </ul>#}
{#        </div>#}
{#    {% else %}#}
{#        <a href="{{ get_url('.export', export_type=admin_view.export_types[0], **request.args) }}"#}
{#           title="{{ _gettext('Export') }}" class="btn btn-default btn-sm">#}
{#            {{ _gettext('Export') }}#}
{#        </a>#}
{#    {% endif %}#}
{#{% endmacro %}#}
{##}
{#{% macro filter_form() %}#}
{#    <form id="filter_form" method="GET" action="{{ return_url }}">#}
{#        {% if sort_column is not none %}#}
{#            <input type="hidden" name="sort" value="{{ sort_column }}">#}
{#        {% endif %}#}
{#        {% if sort_desc %}#}
{#            <input type="hidden" name="desc" value="{{ sort_desc }}">#}
{#        {% endif %}#}
{#        {% if search %}#}
{#            <input type="hidden" name="search" value="{{ search }}">#}
{#        {% endif %}#}
{#        {% if page_size != default_page_size %}#}
{#            <input type="hidden" name="page_size" value="{{ page_size }}">#}
{#        {% endif %}#}
{#        <div class="pull-right">#}
{#            <button type="submit" class="btn btn-primary" style="display: none">{{ _gettext('Apply') }}</button>#}
{#            {% if active_filters %}#}
{#                <a href="{{ clear_search_url }}" class="btn">{{ _gettext('Reset Filters') }}</a>#}
{#            {% endif %}#}
{#        </div>#}
{##}
{#        <table class="filters"></table>#}
{#    </form>#}
{#    <div class="clearfix"></div>#}
{#{% endmacro %}#}
{##}

{##}
{#{% macro page_size_form(generator, btn_class='dropdown-toggle') %}#}
{#    <div class="input-group-btn" style="display: inline-block; width: auto;">#}
{#        <a class="btn btn-default btn-sm" data-toggle="dropdown" href="javascript:void(0)">#}
{#            {{ page_size }} {{ _gettext('items') }}<b class="caret"></b>#}
{#        </a>#}
{#        <ul class="dropdown-menu">#}
{#            <li><a href="{{ generator(20) }}">20 {{ _gettext('items') }}</a></li>#}
{#            <li><a href="{{ generator(50) }}">50 {{ _gettext('items') }}</a></li>#}
{#            <li><a href="{{ generator(100) }}">100 {{ _gettext('items') }}</a></li>#}
{#        </ul>#}
{#    </div>#}
{#{% endmacro %}#}

